open closed principle c